.TH "include/ccn/uri.h" 3 "14 Sep 2011" "Version 0.4.1" "Content-Centric Networking in C" \" -*- nroff -*-
.ad l
.nh
.SH NAME
include/ccn/uri.h \- ccn-scheme uri conversions. 
.SH SYNOPSIS
.br
.PP
.SS "Functions"

.in +1c
.ti -1c
.RI "void \fBccn_uri_append_percentescaped\fP (struct \fBccn_charbuf\fP *c, const unsigned char *data, size_t size)"
.br
.RI "\fIThis appends to c a percent-escaped representation of the component passed in. \fP"
.ti -1c
.RI "int \fBccn_uri_append\fP (struct \fBccn_charbuf\fP *c, const unsigned char *ccnb, size_t size, int includescheme)"
.br
.RI "\fIThis appends to c a URI representation of the ccnb-encoded Name element passed in. \fP"
.ti -1c
.RI "int \fBccn_name_from_uri\fP (struct \fBccn_charbuf\fP *c, const char *uri)"
.br
.RI "\fIConvert a ccnx-scheme URI to a ccnb-encoded Name. \fP"
.in -1c
.SH "Detailed Description"
.PP 
ccn-scheme uri conversions. 

Part of the CCNx C Library.
.PP
Copyright (C) 2008, 2009, 2010 Palo Alto Research Center, Inc.
.PP
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 2.1 as published by the Free Software Foundation. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 
.PP
Definition in file \fBuri.h\fP.
.SH "Function Documentation"
.PP 
.SS "int ccn_name_from_uri (struct \fBccn_charbuf\fP * c, const char * uri)"
.PP
Convert a ccnx-scheme URI to a ccnb-encoded Name. 
.PP
The converted result is placed in c. On input, c may contain a base name, in which case relative URIs are allowed. Otherwise c should start out empty, and the URI must be absolute. 
.PP
\fBReturns:\fP
.RS 4
-1 if an error is found, otherwise returns the number of characters that were processed. 
.RE
.PP

.PP
\fBBug\fP
.RS 4
XXX - need to error out on other uri schemes 
.RE
.PP

.PP
Definition at line 249 of file ccn_uri.c.
.PP
Referenced by ccn_initiate_ccndid_fetch(), ccn_initiate_prefix_reg(), ccnd_init_service_ccnb(), ccnd_parse_uri_list(), ccnd_reg_ccnx_ccndid(), ccnd_reg_uri(), ccnd_start_notice(), ccnd_uri_listen(), get_ccndid(), main(), NewElem(), process_command_tokens(), and stuff_link_check().
.SS "int ccn_uri_append (struct \fBccn_charbuf\fP * c, const unsigned char * ccnb, size_t size, int includescheme)"
.PP
This appends to c a URI representation of the ccnb-encoded Name element passed in. 
.PP
For convenience, it will also look inside of a ContentObject or Interest object to find the Name. Components that consist solely of zero or more dots are converted by adding 3 more dots so there are no ambiguities with . or .. or whether a component is empty or absent. Will prepend 'ccnx:' unless includescheme is 0 
.PP
Definition at line 88 of file ccn_uri.c.
.PP
Referenced by ccnd_debug_ccnb(), ccnd_reg_ccnx_ccndid(), ccnd_uri_listen(), collect_forwarding_html(), collect_forwarding_xml(), incoming_content(), main(), process_data(), and process_prefix_face_list_item().
.SS "void ccn_uri_append_percentescaped (struct \fBccn_charbuf\fP * c, const unsigned char * data, size_t size)"
.PP
This appends to c a percent-escaped representation of the component passed in. 
.PP
Only generic URI unreserved characters are not escaped. Components that consist solely of zero or more dots are converted by adding 3 more dots so there are no ambiguities with . or .. or whether a component is empty or absent. (cf. ccn_uri_append) 
.PP
Definition at line 51 of file ccn_uri.c.
.PP
Referenced by ccn_uri_append(), and incoming_interest().
.SH "Author"
.PP 
Generated automatically by Doxygen for Content-Centric Networking in C from the source code.
